home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-04 | 6.7 KB | 317 lines |
- 1000 ' SCRIPT.BAS - Written by Mark Herring. Version 1.3
- 1005 CLEAR 5000:DEFINT A-Z
- 1010 DEF FNN$(X)=RIGHT$(STR$(X),LEN(STR$(X))-1)
- 1015 DIM EN(10),BT(10),BBS$(10),NF$(10),NL$(10),PW$(10),NF(10)
- 1020 DIM AC$(10,10),A$(10,10),FS$(10,10),DC$(10,10)
- 1025 Q$=CHR$(34):B$=STRING$(30,32)
- 1030 OPEN "R",1,"PROCOMM.DIR",60
- 1035 FIELD 1,30 AS D$,30 AS N$
- 1040 COLOR 7,0
- 1045 CLS
- 1050 COLOR 0,7
- 1055 PRINT CHR$(201);STRING$(26,205);CHR$(187)
- 1060 PRINT CHR$(186);" Procomm Scriptwriter 1.3 ";CHR$(186)
- 1065 PRINT CHR$(186);" by Sparkware ";CHR$(186)
- 1070 PRINT CHR$(200);STRING$(26,205);CHR$(188)
- 1075 COLOR 7,0
- 1080 FOR I=1 TO 10
- 1085 LOCATE 9+I,1
- 1090 PRINT STRING$(80,32);
- 1095 LOCATE 9+I,1
- 1100 PRINT "CALL directory entry number? ";
- 1105 LINE INPUT C$
- 1110 EN=VAL(C$)
- 1115 IF EN<1 OR EN>200 THEN I=10:GOTO 1190
- 1120 GET 1,EN+2
- 1125 BBS$=LEFT$(N$,INSTR(N$,CHR$(0)))
- 1130 IF BBS$="" THEN 1085
- 1135 IF ASC(BBS$)=46 THEN 1085
- 1140 LSET B$=BBS$
- 1145 LOCATE I+9,1
- 1150 PRINT B$;" Board type (1=FIDO, 2=Colossus)? ";
- 1155 LINE INPUT C$
- 1160 BT=VAL(C$)
- 1165 IF BT<1 OR BT>2 THEN 1085
- 1170 NB=NB+1
- 1175 EN(NB)=EN
- 1180 BT(NB)=BT
- 1185 BBS$(NB)=BBS$
- 1190 NEXT I
- 1195 CLOSE 1
- 1200 IF NB=0 THEN 5740
- 1205 FOR I=1 TO NB
- 1210 COLOR 7,0
- 1215 CLS
- 1220 COLOR 0,7
- 1225 PRINT CHR$(201);STRING$(22,205);CHR$(187)
- 1230 PRINT CHR$(186);" Procomm Scriptwriter ";CHR$(186)
- 1235 PRINT CHR$(186);" by Sparkware ";CHR$(186)
- 1240 PRINT CHR$(200);STRING$(22,205);CHR$(188)
- 1245 COLOR 7,0
- 1250 LOCATE 1,30
- 1255 PRINT "BBS: ";
- 1260 COLOR 0,7
- 1265 PRINT " ";BBS$(I);" ";
- 1270 COLOR 7,0
- 1275 LOCATE 2,30
- 1280 PRINT "Enter your FIRST name? ";TAB(55);
- 1285 LINE INPUT NF$(I)
- 1290 IF NF$(I)="" THEN 1275
- 1295 LOCATE 3,30
- 1300 PRINT "Enter your LAST name? ";TAB(55);
- 1305 LINE INPUT NL$(I)
- 1310 LOCATE 4,30
- 1315 PRINT "Enter your Password? ";TAB(55);
- 1320 LINE INPUT PW$(I)
- 1325 IF PW$(I)="" THEN 1310
- 1330 LOCATE 7,1
- 1335 PRINT "Please enter information below. To stop, press the ";
- 1340 COLOR 0,7
- 1345 PRINT " RETURN ";
- 1350 COLOR 7,0
- 1355 PRINT " key."
- 1360 LOCATE 9,1
- 1365 PRINT STRING$(80,196);
- 1370 LOCATE 10,1
- 1375 COLOR 0,7
- 1380 PRINT " ACTION (U/D) ";
- 1385 LOCATE 10,17
- 1390 PRINT " FILE AREA ";
- 1395 LOCATE 10,30
- 1400 PRINT " FILESPEC ";
- 1405 LOCATE 10,44
- 1410 PRINT STRING$(13,32);"DESCRIPTION";STRING$(13,32);
- 1415 COLOR 7,0
- 1420 LOCATE 11,1
- 1425 PRINT STRING$(80,196);
- 1430 NF(I)=0
- 1435 LOCATE NF(I)+13,1,0
- 1440 PRINT STRING$(80,32);
- 1445 LOCATE NF(I)+13,7,1
- 1450 SOUND 5000,1
- 1455 AC$=INPUT$(1)
- 1460 IF AC$=CHR$(13) THEN 1595
- 1465 IF ASC(AC$)>96 THEN AC$=CHR$(ASC(AC$)-32)
- 1470 IF INSTR("UD",AC$)=0 THEN 1445
- 1475 PRINT AC$;
- 1480 LOCATE NF(I)+13,22,1
- 1485 SOUND 5000,1
- 1490 LINE INPUT A$
- 1495 IF VAL(A$)<1 THEN 1435
- 1500 LOCATE NF(I)+13,30,1
- 1505 SOUND 5000,1
- 1510 LINE INPUT FS$
- 1515 IF FS$="" THEN 1435
- 1520 C$=FS$:GOSUB 10000:FS$=C$
- 1525 IF AC$="D" THEN 1545
- 1530 LOCATE NF(I)+13,44,1
- 1535 LINE INPUT DC$
- 1540 IF DC$="" THEN 1435
- 1545 NF(I)=NF(I)+1
- 1550 AC$(I,NF(I))=AC$
- 1555 A$(I,NF(I))=A$
- 1560 FS$(I,NF(I))=FS$
- 1565 DC$(I,NF(I))=DC$
- 1570 IF AC$="U" THEN 1590
- 1575 IF INSTR(FS$,".ARC")>0 THEN ARC=1
- 1580 IF INSTR(FS$,".LBR")>0 THEN ARC=1
- 1585 IF INSTR(FS$,".LQR")>0 THEN ARC=1
- 1590 IF NF(I)<10 THEN 1435
- 1595 NEXT I
- 1600 '
- 2000 OPEN "O",1,"TRANSFER.CMD"
- 2010 PRINT#1,"/*************************************************************/"
- 2020 PRINT#1,"/* */"
- 2030 PRINT#1,"/* Automatic downloading for FIDOs */"
- 2040 PRINT#1,"/* */"
- 2050 PRINT#1,"/*************************************************************/"
- 2060 PRINT#1,"/"
- 2070 PRINT#1,"/ Date created: ";DATE$
- 2080 PRINT#1,"/"
- 2090 PRINT#1,"/ Boards called:"
- 2100 PRINT#1,"/"
- 2110 FOR I=1 TO NB
- 2120 IF NF(I)>0 THEN PRINT#1,"/ ";BBS$(I)
- 2130 NEXT I
- 2140 PRINT#1,"/"
- 2150 PRINT#1,"%LO";Q$;"PROCOMM.LOG";Q$
- 2160 PRINT#1,"%E7"
- 2170 PRINT#1,"%XN"
- 2180 FOR I=1 TO NB
- 2190 IF NF(I)=0 THEN 5010
- 2200 ON BT(I) GOTO 3000,4000
- 2210 '
- 3000 PRINT#1,"%C";Q$;FNN$(EN(I));Q$
- 3010 FOR J=1 TO 3
- 3020 PRINT#1,"%T";Q$;"!";Q$
- 3030 PRINT#1,"%W";Q$;"1";Q$
- 3040 NEXT J
- 3050 PRINT#1,"%T";Q$;"!";Q$
- 3060 PRINT#1,"%I";Q$;"Your FIRST name:";Q$
- 3070 PRINT#1,"%T";Q$;NF$(I);"!";Q$
- 3080 PRINT#1,"%I";Q$;"Your LAST name:";Q$
- 3090 PRINT#1,"%T";Q$;NL$(I);"!";Q$
- 3100 PRINT#1,"%I";Q$;"? [Y,n]";Q$
- 3110 PRINT#1,"%T";Q$;"Y!";Q$
- 3120 PRINT#1,"%I";Q$;"Password:";Q$
- 3130 PRINT#1,"%T";Q$;PW$(I);"!";Q$
- 3140 FOR J=1 TO 3
- 3150 PRINT#1,"%I";Q$;"More?";Q$
- 3160 PRINT#1,"%T";Q$;"!";Q$
- 3170 NEXT J
- 3180 PRINT#1,"%I";Q$;"Command:";Q$
- 3190 PRINT#1,"%T";Q$;"F!";Q$
- 3200 FOR J=1 TO NF(I)
- 3210 PRINT#1,"%I";Q$;"Command:";Q$
- 3220 PRINT#1,"%T";Q$;"A ";A$(I,J);"!";Q$
- 3230 PRINT#1,"%I";Q$;"Command:";Q$
- 3240 SF$=FS$(I,J):GOSUB 11000
- 3250 IF AC$(I,J)="D" THEN 3310
- 3260 PRINT#1,"%T";Q$;"U X ";SF$;"!";Q$
- 3270 PRINT#1,"%XS";Q$;FS$(I,J);Q$
- 3280 PRINT#1,"%I";Q$;"describe ";SF$;Q$
- 3290 PRINT#1,"%T";Q$;DC$(I,J);"!";Q$
- 3300 GOTO 3330
- 3310 PRINT#1,"%T";Q$;"D X ";SF$;"!";Q$
- 3320 PRINT#1,"%XR";Q$;FS$(I,J);Q$
- 3330 NEXT J
- 3340 PRINT#1,"%I";Q$;"Command:";Q$
- 3350 PRINT#1,"%T";Q$;"G N!";Q$
- 3360 GOTO 5000
- 3370 '
- 4000 PRINT#1,"%C";Q$;FNN$(EN(I));Q$
- 4010 PRINT#1,"%I";Q$;"your First Name?";Q$
- 4020 PRINT#1,"%T";Q$;NF$(I);"!";Q$
- 4030 PRINT#1,"%I";Q$;"your Last Name?";Q$
- 4040 PRINT#1,"%T";Q$;NL$(I);"!";Q$
- 4050 PRINT#1,"%I";Q$;"correct [y/n]?";Q$
- 4060 PRINT#1,"%T";Q$;"Y!";Q$
- 4070 PRINT#1,"%I";Q$;"Password:";Q$
- 4080 PRINT#1,"%T";Q$;PW$(I);"!";Q$
- 4090 PRINT#1,"%I";Q$;"<N>onStop?";Q$
- 4100 PRINT#1,"%T";Q$;"N!";Q$
- 4110 PRINT#1,"%I";Q$;"or <Q>uit?";Q$
- 4120 PRINT#1,"%T";Q$;"Q!";Q$
- 4130 PRINT#1,"%I";Q$;"Main Menu:";Q$
- 4140 PRINT#1,"%T";Q$;"F!";Q$
- 4150 FOR J=1 TO NF(I)
- 4160 PRINT#1,"%I";Q$;"File Menu:";Q$
- 4170 PRINT#1,"%T";Q$;"C ";A$(I,J);"!";Q$
- 4180 PRINT#1,"%I";Q$;"File Menu:";Q$
- 4190 SF$=FS$(I,J):GOSUB 11000
- 4200 IF AC$(I,J)="D" THEN 4300
- 4210 PRINT#1,"%T";Q$;"U!";Q$
- 4220 PRINT#1,"%I";Q$;"4) Quit?";Q$
- 4230 PRINT#1,"%T";Q$;"3!";Q$
- 4240 PRINT#1,"%I";Q$;"save to >";Q$
- 4250 PRINT#1,"%T";Q$;SF$;"!";Q$
- 4260 PRINT#1,"%XS";Q$;FS$(I,J);Q$
- 4270 PRINT#1,"%I";Q$;"-->";Q$
- 4280 PRINT#1,"%T";Q$;DC$(I,J);"!";Q$
- 4290 GOTO 4360
- 4300 PRINT#1,"%T";Q$;"D!";Q$
- 4310 PRINT#1,"%I";Q$;"4) Quit?";Q$
- 4320 PRINT#1,"%T";Q$;"3!";Q$
- 4330 PRINT#1,"%I";Q$;"download?";Q$
- 4340 PRINT#1,"%T";Q$;SF$;"!";Q$
- 4350 PRINT#1,"%XR";Q$;FS$(I,J);Q$
- 4360 NEXT J
- 4370 PRINT#1,"%I";Q$;"File Menu:";Q$
- 4380 PRINT#1,"%T";Q$;"G Y!";Q$
- 4390 '
- 5000 IF I<NB THEN PRINT#1,"%W";Q$;"10";Q$
- 5010 NEXT I
- 5020 PRINT#1,"%Q"
- 5030 CLOSE 1
- 5040 IF ARC=0 THEN 5330
- 5050 OPEN "O",1,"UNPACK.BAT"
- 5060 FOR I=1 TO NB
- 5070 IF NF(I)=0 THEN 5360
- 5080 FOR J=1 TO NF(I)
- 5090 IN=INSTR(FS$(I,J),".ARC")
- 5100 IF IN>0 THEN 5150
- 5110 IN=INSTR(FS$(I,J),".LBR")
- 5120 IF IN>0 THEN 5150
- 5130 IN=INSTR(FS$(I,J),".LQR")
- 5140 IF IN=0 THEN 5320
- 5150 DIR$=LEFT$(FS$(I,J),IN-1)
- 5160 IF DIR$="" THEN 5320
- 5170 PRINT#1,"MKDIR ";DIR$
- 5180 PRINT#1,"COPY ";FS$(I,J);" .\";DIR$
- 5190 PRINT#1,"DEL ";FS$(I,J)
- 5200 PRINT#1,"CHDIR ";DIR$
- 5210 IF INSTR(FS$(I,J),".ARC")>0 THEN 5260
- 5220 IF INSTR(FS$(I,J),".LBR")>0 THEN 5240
- 5230 PRINT#1,"UNSQ ";FS$(I,J)
- 5240 PRINT#1,"LU -A ";DIR$
- 5250 GOTO 5270
- 5260 PRINT#1,"ARC XW ";DIR$
- 5270 PRINT#1,"DEL ";FS$(I,J)
- 5280 IF INSTR(FS$(I,J),".LQR")>0 THEN PRINT#1,"DEL ";DIR$;".LBR"
- 5290 PRINT#1,"CHDIR .."
- 5300 NEXT J
- 5310 NEXT I
- 5320 CLOSE 1
- 5330 FOR I=1 TO 4
- 5340 LOCATE I,30,0
- 5350 PRINT STRING$(50,32);
- 5360 NEXT I
- 5370 FOR I=7 TO 23
- 5380 LOCATE I,1,0
- 5390 PRINT STRING$(80,32);
- 5400 NEXT I
- 5410 LOCATE 9,1
- 5420 PRINT "The current time is ";TIME$
- 5430 LOCATE 12,1,1
- 5440 COLOR 0,7
- 5450 PRINT " ENTER ";
- 5460 COLOR 7,0
- 5470 PRINT " the current time: ";
- 5480 LINE INPUT T$
- 5490 IF T$<>"" THEN TIME$=T$
- 5500 LOCATE 15,1,1
- 5510 PRINT "Please enter the desired start time? ";
- 5520 LINE INPUT T$
- 5530 IF T$="" THEN 5330
- 5540 FOR I=9 TO 15 STEP 3
- 5550 LOCATE I,1,0
- 5560 PRINT STRING$(80,32);
- 5570 NEXT I
- 5580 LOCATE 2,30,0
- 5590 PRINT "Current time is now:";
- 5600 LOCATE 3,30
- 5610 PRINT "Procomm will automatically start at ";T$;".";
- 5620 LOCATE 4,30
- 5630 PRINT "Press the ";
- 5640 COLOR 0,7
- 5650 PRINT " ESC ";
- 5660 COLOR 7,0
- 5670 PRINT " key to ABORT.";
- 5680 LOCATE 2,51,0
- 5690 PRINT TIME$;
- 5700 IF INKEY$=CHR$(27) THEN 5740
- 5710 IF LEFT$(TIME$,LEN(T$))<>T$ THEN 5680
- 5720 CLS
- 5730 SHELL "PROCOMM /FTRANSFER /S"
- 5740 CLS
- 5750 IF ARC=1 THEN SHELL "UNPACK"
- 5760 CLS
- 5770 SHELL "DIR *."
- 5780 SYSTEM
- 5790 END
- 5800 '
- 10000 IF C$="" THEN 10070
- 10010 FOR I0=1 TO LEN(C$)
- 10020 A=ASC(MID$(C$,I0,1))
- 10030 IF A<97 OR A>122 THEN 10060
- 10040 A=A-32
- 10050 MID$(C$,I0,1)=CHR$(A)
- 10060 NEXT I0
- 10070 RETURN
- 10080 '
- 11000 IN=INSTR(SF$,":")
- 11010 IF IN=0 THEN 11030
- 11020 SF$=RIGHT$(SF$,LEN(SF$)-IN)
- 11030 RETURN
- 11040 '
-